package 力扣题库;

public class p10罗马数字转整数 {
    public int romanToInt(String s) {
        int preNum=getRomanValue(s.charAt(0));// 得到 当前需比较的数字，比较当前数字 大于or小于or等于 右边的数

        int sum=0;
        for (int i = 1; i < s.length(); i++) {
            //得到当前数的下一个数
            int num=getRomanValue(s.charAt(i));

            if (preNum < num) {
                //小在左 是减法
                sum -= preNum;
            }else {
                //小在右或左右相等 是加法
                sum += preNum;
            }
            preNum=num;//更新当前数
        }

        return sum+=preNum;//最终的值== sum + 当前值

    }

    public static int getRomanValue(char a) {
        switch (a) {
            case 'I' :
                return 1;
            case 'V' :
                return 5;
            case 'X' :
                return 10;
            case 'L' :
                return 50;
            case 'C' :
                return 100;
            case 'D' :
                return 500;
            case 'M' :
                return 1000;

            default: return 0;

        }
    }
}
